import axios from 'axios'
import {Message} from "element-ui";
import router from "@/routes";


//对于响应数据进行拦截处理
axios.interceptors.response.use(success=>{
    if(success.status && success.status== 200){
        if(success.data.code==500 || success.data.code==401 || success.data.code==403){
            Message.error({message:success.data.message});
            return;
        }
        if (success.data.message){
            Message.success({message:success.data.message});
        }
    }
    return success.data;
},error=>{
    if (error.response.code==504||error.response.code==404){
        Message.error({message:'服务器错误'});
    }else if(error.response.code==401){
        Message.error({message:'尚未登录，请登录'});
        router.replace('/login');
    }else if(error.response.code==403){
        Message.error({message:'权限不足'});
    }else {
        if (error.response.data.message){
            Message.error({message:error.response.data.message})
        }else {
            Message.error({message: '未知错误'})
        }
    }
    return;
});

// 前端请求拦截器（后期可添加token验证）
axios.interceptors.request.use(
    config=>{
        const isToken = (config.headers || {}).isToken === false
        if (localStorage.getItem("token") && !isToken) {
          config.headers['access-token'] = localStorage.getItem("token") // 让每个请求携带自定义token 请根据实际情况自行修改
        }
       return config;
    },

)